#include "Mesh.h"
#include <iostream>

int main()
{
    vector<double> p0 = {-1, -1};
    vector<double> p1 = {0, 1};
    vector<double> p2 = {1, 1};
    vector<double> p3 = {-1, 1};
    Point<2> P0(p0);
    Point<2> P1(p1);
    Point<2> P2(p2);
    Point<2> P3(p3);
    vector<Point<2>> d = {P0, P1, P2, P3};
    Rectangle2D D(d);
    vector<int> seg = {3, 3};
    Mesh<2> M(D, seg);
    M.distributeDofs(1);
    for(int i = 1; i <= 4; i++)
	cout << M.getGridVector(4).getDofs(i) << endl;
    cout << endl;
    int t = M.getBoundaryDofs(0).size();
    for(int i = 0; i < t; i++)
    	cout << M.getBoundaryDofs(0)[i] << endl;
    return 0;
}
